<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <button id="btn">点我呀</button><br>
</body>
<!--①内部方式-->
<script>
    document.getElementById("btn").onclick=function () {
        alert("点我干嘛?")
    }

    // 输入框
    prompt("请输入你的姓名!");
    //弹出警告框
    alert("非法网站,禁止浏览");
    // 控制台输出
    console.log("控制台输出");
    // 页面输出内容
    document.write("我是页面输出"+"<br>");

    // 定义局部变量
    let name="张三"
    let age=23;
    document.write(name+","+age+"<br>");
    // 定义全局变量(变量名=值)
    {
        let l1="aa";
        l2="bb";
    }
    // document.write(l1);
    document.write(l2+"<br>");
    // 定义常量
    const PI = 3.1415926;
    // PI=3.15;
    document.write(PI+"<br>");
    // 判断变量的数据类型typeof
    let age=18;
    document.write(typeof (age)+'<br>')

    let l2=null;
    document.write(typeof (l2)+"<br>");

    let l3;
    document.write(typeof (l3));
    // 批量赋值
    let i,j,k,l;
    i=1;
    j=2;k="a";
    l=true;
    // for循环
    for(let i=1;i<=5;i++){
        document.write(i+"<br>")
    }
    // 定义数组
    let arr =[10,20,30];
    // arr[3]=40;  数组的长度可变
    for (let i=o;i<arr.length;i++){
        document.write(arr[i]+"<br>")
    }

    // 数组高级运算符
    // 复制数组
    let arr2=[...arr];
    //合并数组
    let arr3=[...arr,...arr2];
    // 将字符串转化为数组
    let arr4=[..."java"];

    //注意事项:数组的赋值可以跳索引
    let arr5=new Array(2);
    arr5[0]=0;
    arr5[1]=1;
    arr5[2]=2;
    arr5[4]=4;
    // 数组实际长度为5,索引为3的为空

    /**
     * 方法声明关键字:function
     * 方法无需指定返回值类型
     * 方法的参数无需使用变量声明的关键字let或者是var
     *
     * 注意事项;方法可以完全一样,但是js执行的顺序是自上而下的
    */
    function fun1() {
        document.write("你好");
    }
    fun1();
    function getSum(number1, number2) {
        return number1+number2;
    }
    var sum = getSum(10,20);

    let fun2=function () {
        document.write("你好")
    }



</script>
<!--②外部方式-->
<!--<script src="js/demo1.js"></script>-->

</html>